---
title: Yapılandırma
description: Ultracite'in varsayılan lint yapılandırması ve nasıl değiştirileceği.
---

Ultracite'in en iyi özelliklerinden biri kutudan çıktığı gibi sıfır yapılandırma ile gelmesidir – sadece `ultracite` önayarını extend edebilir ve hızlıca başlayabilirsiniz. Ancak her proje biraz farklıdır ve belirli kuralları özelleştirmek ya da Ultracite'i farklı çerçevelere uyarlamak isteyebilirsiniz. Bu bölüm varsayılan yapılandırmayı ve nasıl genişletebileceğinizi veya geçersiz kılabileceğinizi açıklar.

Ultracite, temel yapılandırmaya ek olarak genişletebileceğiniz çerçeveye özgü yapılandırmalar sağlar. Bu, temel yapılandırmayı gereksiz kurallarla şişirmeden veya alakasız kurallarla uğraşmadan çerçeveye özgü lint kurallarını eklemenize olanak tanır.

Mevcut çerçeve yapılandırmalarının tam listesini [Önayarlar](/preset/core) bölümünde bulabilirsiniz.

### Kullanım

Bir çerçeveye özgü yapılandırma kullanmak için bunu `extends` dizinize ekleyin:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/solid"]
}
```

Çoklu çerçeveyle çalışan bir projede çalışıyorsanız veya birden fazla çerçeveyi destekleyen Astro gibi bir şey kullanıyorsanız birden fazla yapılandırmayı birleştirebilirsiniz.

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/react", "ultracite/remix"]
}
```

## Varsayılan yapılandırma

`biome.jsonc` dosyanıza `"extends": ["ultracite/core"]` eklediğinizde, Ultracite'in temel önayar yapılandırmasını çekmiş olursunuz. Bu önayar çerçeveden bağımsız kurallar ve yapılandırmalar içerir. Varsayılan yapılandırmanın bazı önemli yönleri:

- **TypeScript sıkı denetimleri**: Ultracite, TypeScript'in sıkı kontrollerini ve sağlam tip denetimlerini etkinleştirir. Örneğin, `any` kullanımını teşvik etmez, `null/undefined` durumlarını ele almayı gerektirir ve belirsizliği önlemek için bazı durumlarda açık tipleri tercih eder.
- **ESLint "Recommended" eşdeğerleri**: Yaygın en iyi uygulama kuralları (kullanılmayan değişken yok, açık eval yok, proto kirliliği yok vb.) dahil edilmiştir.
- **Erişilebilirlik**: Erişilebilirlik standartlarına eşdeğer kurallar varsayılan olarak açıktır (ARIA öznitelikleri, semantik HTML, klavye gezinimi vb.).
- **Node.js**: Ortama özgü incelikler ele alınır. Örneğin, Node tarafından sağlanan global değişkenler (ör. `module`, `process`) tanınır, böylece yanlışlıkla tanımsız olarak işaretlenmezler.
- **Biçimlendirme konvansiyonları**: Ultracite'in biçimlendirici ayarları (çoğunlukla Biome/Prettier varsayılanlarından miras alınmıştır) 2 boşluklu girinti, 80 karakterlik maksimum satır genişliği, ifadelerin sonlarında noktalı virgül, geçerli olduğunda sonuna virgül (örn. çok satırlı diziler/nesneler), dizeler için çift tırnak vb. içerir. Bunlar yaygın konvansiyonlarla uyum sağlamak ve diff temizliğini garanti etmek için seçilmiştir.

Tüm bu varsayılanlar, her kuralı manuel olarak yapılandırmanıza gerek kalmadan tutarlı bir stil uygulamayı ve yaygın hataları önlemeyi amaçlar.

Ultracite'in temel yapılandırmasında yapılandırılan tüm lint kurallarının eksiksiz referansı için [Çekirdek Yapılandırması](/preset/core) dokümantasyonuna bakın.

## Yapılandırmayı geçersiz kılma

### `biome.jsonc`'yi Değiştirme

Kuralları `biome.jsonc` dosyasını değiştirerek devre dışı bırakabilirsiniz.

Örneğin, `noAutofocus` kuralını devre dışı bırakmak için aşağıdakini ekleyebilirsiniz:

```jsonc title="biome.jsonc"
{
  "linter": {
    "rules": {
      "a11y": {
        "noAutofocus": "off"
      }
    }
  }
}
```

### Satır içi yorumlar

Ayrıca bir kuralı satır bazında devre dışı bırakmak için satırın sonuna bir yorum ekleyebilirsiniz:

```tsx title="page.tsx"
// biome-ignore lint/security/noDangerouslySetInnerHtml: This is a valid use case.
<div dangerouslySetInnerHTML={{ ... }} />
```